package com.zhenmaitang.clinic_sys.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RolePermissionMapper {
    
    /**
     * 为角色分配权限
     */
    int assignPermissionToRole(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);
    
    /**
     * 移除角色的权限
     */
    int removePermissionFromRole(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);
    
    /**
     * 获取角色的所有权限ID
     */
    List<Integer> findPermissionIdsByRoleId(@Param("roleId") Integer roleId);
    
    /**
     * 批量为角色分配权限
     */
    int batchAssignPermissionsToRole(@Param("roleId") Integer roleId, @Param("permissionIds") List<Integer> permissionIds);
    
    /**
     * 清空角色的所有权限
     */
    int clearRolePermissions(@Param("roleId") Integer roleId);
    
    /**
     * 检查角色是否拥有指定权限
     */
    boolean hasPermission(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);
}